/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.una.scece.control;

import java.util.ArrayList;
import com.una.scece.clases.*;
import com.una.scece.gestores.gestorCurso;
import com.una.scece.gestores.gestorPagos;
import com.una.scece.gestores.gestorPersona;
import com.una.scece.gestores.gestorUtiles;
import java.sql.Date;
import java.sql.SQLException;

/**
 *
 * @author Erick
 */
public class controlGestor {

//<editor-fold defaultstate="collapsed" desc="Metodos de Persistencia de Estudiantes y Administrativos">
    public static void guardarPersona(Persona persona) throws Exception {
        gestorPersona.guardarPersona(persona);
    }

    public static void actualizarPersona(Persona persona) throws Exception {
        gestorPersona.actualizarPersona(persona);
    }

    public static void buscarPersona(Persona persona) throws Exception {
        gestorPersona.buscarPersona(persona);
    }

    public static void eliminarPersona(Persona persona) throws Exception {
        gestorPersona.eliminarPersona(persona);
    }

    public static ArrayList<Persona> listarPersonaTipo(int pTipo) throws Exception {
        return gestorPersona.listarPersonaTipo(pTipo);
    }
    //</editor-fold>

//<editor-fold defaultstate="collapsed" desc="Metodos de Persistencia de Cursos">
    public static void guardarCurso(Curso curso) throws Exception {
        gestorCurso.guardarCurso(curso);
    }

    public static void buscarCurso(Curso curso) throws Exception {
        gestorCurso.buscarCurso(curso);
    }

    public static void eliminarCurso(Curso curso) throws Exception {
        gestorCurso.eliminarCurso(curso);
    }

    public static void actualizarCurso(Curso curso) throws Exception {
        gestorCurso.actualizarCurso(curso);
    }

    public static ArrayList<Curso> listarCursos() throws Exception {
        return gestorCurso.listarCurso();
    }

    public static void asignarCursosEstudiantes(String pIdentificacion, String pCodigo, String pTrimestre, int pAnio) throws Exception {
        gestorCurso.asignarCursosEstudiante(pIdentificacion, pCodigo, pTrimestre, pAnio);
    }

    public static void removerCursosEstudiantes(String pIdentificacion, String pCodigo, String pTrimestre, int pAnio) throws Exception {
        gestorCurso.removerCursosEstudiante(pIdentificacion, pCodigo, pTrimestre, pAnio);
    }
    //</editor-fold>   

//<editor-fold defaultstate="collapsed" desc="Metodos de Persistencia de Pagos">
    public static void agregarComprobante(String pIdentificacion, String pRuta, Date pFecha, double pMonto, int pAnio, String pTrimestre) throws Exception {
        gestorPagos.agregarComprobante(pIdentificacion, pRuta, pFecha, pMonto, pAnio, pTrimestre);
    }

    public static void agregarTotalCiclo(String pIdentificacion, int pCantidadCursos, double pTotal, double pSaldo, int pAnio, String pCiclo) throws Exception {
        gestorPagos.agregarTotalCiclo(pIdentificacion, pCantidadCursos, pTotal, pSaldo, pAnio, pCiclo);
    }
    
    public static void aprobarPago(String pIdentificacion, Date pFecha)throws Exception{
        gestorPagos.aprobarPago(pIdentificacion, pFecha);
    }
    //</editor-fold>
    
//<editor-fold defaultstate="collapsed" desc="Metodos de Persistencia Extra">
    
    public static ArrayList<String> verIdentificacionEstudiantes() throws Exception {
        return gestorUtiles.verIdentificacionEstudiantes();
    }
    
    public static ArrayList<String> verIdentificacionFuncionarios() throws Exception {
        return gestorUtiles.verIdentificacionFuncionarios();
    }
    
    public static String reporteFechas(Date pFechaInicio, Date pFechaFinal) throws Exception {
        return gestorUtiles.reporteFechas(pFechaInicio, pFechaFinal);
    }
    
    public static String reporteMorosos(Integer pAnio, String pCiclo) throws Exception {
        return gestorUtiles.reporteMorosos(pAnio, pCiclo);
    }
    
    public static ArrayList<String> correoMorosos(Integer pAnio, String pCiclo) throws Exception {
        return gestorUtiles.correoMorosos(pAnio, pCiclo);
    }
    
    public static ArrayList<String> verIdentificacionCursos(int pAnio, String pCiclo) throws Exception {
        return gestorUtiles.verIdentificacionCursos(pAnio, pCiclo);
    }
    
    public static ArrayList<Double> verCursosEstudiante(String pIdentificacion, int pAnio, String pCiclo) throws Exception {
        return gestorUtiles.verCursosEstudiante(pIdentificacion, pAnio, pCiclo);
    }
    
    public static String verCursosEstudiante2(String pIdentificacion, int pAnio, String pCiclo) throws Exception {
        return gestorUtiles.verCursosEstudiante2(pIdentificacion, pAnio, pCiclo);
    }
    
    public static String cargarPendientes() throws Exception{
        return gestorUtiles.cargarPendientes();
    }
    
    public static String cargarReportePendiente(String pIdentificacion, Date pFecha) throws Exception {
        return gestorUtiles.cargarReportePendiente(pIdentificacion, pFecha);
    }
    //</editor-fold>
}
